package com.tsinghuabigdata.edu.ddmath.requestHandler;

import com.tsinghuabigdata.edu.commons.http.HttpRequestException;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.ApplyTutor;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.OnlineTutoring;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.UploadImage;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.TutorApplied;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.TutorQueue;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.TutorState;
import com.tsinghuabigdata.edu.ddmath.module.onlineTutoring.bean.TutorTurn;

import org.json.JSONException;

import java.util.List;

public interface TutorService {

    /**
     * 获取老师辅导状态
     */
    List<OnlineTutoring> queryTeacherState(String access_token, String classId) throws HttpRequestException, JSONException;

    /**
     * 获取辅导队列信息
     */
    TutorQueue queryTutorQueue(String access_token, String studentId) throws HttpRequestException, JSONException;

    /**
     * 申请辅导
     */
    ApplyTutor applyTutor(String access_token, String studentId, String teacherId, String imageIds, int estimateTime) throws HttpRequestException, JSONException;

    /**
     * 查询是否申请了辅导
     */
    TutorApplied isTutorApplied(String access_token, String studentId) throws HttpRequestException, JSONException;

    /**
     * 是否轮到辅导
     */
    TutorTurn isTutorTurn(String access_token, String studentId, String teacherId) throws HttpRequestException, JSONException;

    /**
     * 修改辅导状态
     */
    TutorState modifyTutorState(String access_token, String coachId, int state, String remark) throws HttpRequestException, JSONException;

    /**
     * 获取学生上传的图片
     */
    List<UploadImage> queryUploadImages(String access_token, int pageNum, int pageSize, String studentId) throws HttpRequestException, JSONException;

    /**
     * 进入辅导
     */
    TutorState startTutor(String access_token, String coachId,String remark) throws HttpRequestException, JSONException;

    /**
     * 正常结束辅导
     */
    TutorState endTutorNormal(String access_token, String coachId,String remark) throws HttpRequestException, JSONException;

    /**
     * 辅导异常结束
     */
    TutorState endTutorException(String access_token, String coachId,String remark) throws HttpRequestException, JSONException;




}
